01. Overview

Using a GPU

So far, you've seen a number of CNN's and LSTM's that either train on a small dataset or can train very quickly on a CPU with good results. However, some deep learning applications require analysis of large image datasets or training over many epochs to work well, and in this case, you can use a GPU to greatly speed up the training process. A GPU (Graphics Processing Unit) is a type of processor that supports greater parallelism.

In this course, you will need to use a GPU to train an image captioning system, which includes a complex architecture and large amounts of training data, but, you will be given a GPU-enabled workspace to do this training. So, you are not required to create a GPU instance for local use.

If you do choose to develop locally or work on complex, deep learning side projects of your own, learning how to setup a GPU instance can be very useful, which is what this lesson is all about!

If you do not already have a computer with a built-in NVIDIA GPU, you can use an Amazon EC2 instance.

Amazon web services logo.

Amazon web services logo.

There are many cloud service providers that offer equivalent functionality, but EC2 is a reasonable default that is available to most students. In the next few sections, we'll go over the steps to take to run a neural network on an Amazon server.

**Note: You may skip this section if you are planning to use your own GPU, GPU in workspaces (which will be made available to you), or CPU, or otherwise *not* planning to use Amazon EC2.**